Les électrons, les objets d'image négatifs sont quelque chose que nous avons déjà vu dans les leçons précédentes lors de la création d'une icône
de plateau et à nouveau lors de la prise de captures d'écran avec le module de capture de bureau.
Donc, pour récapituler, une image négative est essentiellement une instance de classe d'image négative d'électrons, ce qui nous permet
de mieux travailler avec des images à l'intérieur de notre application, chaque instance d'image négative, représentant alors
une seule image.
Chaque fois qu'un module d'électrons renvoie une image, elle sera de type image négative plutôt que de données
d'image réelles.
Ceci étant un module partagé, tout apparaîtra dans.
Cette leçon s'applique exactement de la même manière lorsque vous travaillez dans le processus principal ou dans le processus de rendu.
Par souci de simplicité, cependant, je m'en tiendrai au moteur de rendu pour le moment.
Commençons par créer une instance d'image négative avec laquelle travailler dans Index.
GML nécessite le module comme image négative normale const.
Nécessite un électron.
Ensuite, pour démontrer, j'utiliserai l'image Slashdot Panji déjà située dans le répertoire du projet, assignant pour
éclabousser une nouvelle instance d'image native de Slashdot PMG, ce que, contrairement à ce que nous ferions normalement, nous ne créons pas
directement à partir de la classe constructeur.
Au lieu de cela, nous pouvons utiliser l'une des quelques méthodes statiques sur cette classe pour créer l'instance.
Par exemple, pour le créer à partir d'un fichier, disons que l'image native
dot create à partir du chemin passe dans le chemin d'accès à ce fichier image.
Alors maintenant, ayant un objet image natif créé à partir de ce fichier image, nous pouvons faire plusieurs choses avec lui.
Par exemple, je me déconnecte, éclabousse le point, obtiens la taille.
Enregistrez ceci, rechargez le contenu Web, et là nous voyons la largeur et la hauteur de cette image déconnectée, une méthode
d'aide simple pour déterminer les dimensions de l'image, ou encore, nous pouvons convertir et sortir cette image dans
un certain nombre de formats différents.
Voyons un couple.
Je vais me débarrasser de ce contenu en HTML indexé avec un en-tête de convertir splash dot PMG.
Ajoutez un bouton.
En donnant à cet attribut unclick, appelez à PMG ce bouton de duplication PMG al avec deux JPEG à la
place.
JP G, PG et JP étant les deux formats d'image les plus courants que nous pouvons exporter
à partir de cette instance d'image native, créez les poignées de clic pour ces boutons, la conversion étant d'abord const en
PMG équivaut à une fonction avec cet événement de clic affectant les données d'image, qui est un buffer en PNG
splash en appelant l'image native splash en PNG pour dupliquer cette fonction de gestionnaire de clic pour la conversion JPA en JPEG en
nommant les données d'image jpg splash que nous obtenons avec splash.
Donc, en utilisant le même instant d'image de démarrage en jpeg en jpeg.
Contrairement à deux, PNG nécessite un argument spécifiant la qualité d'exportation de l'image.
Il s'agit d'une plage comprise entre zéro et 100, 100 étant 100% de la qualité d'image d'origine.
Voilà donc nos deux types d'export d'image distincts.
Un pour obtenir une version PNG comme le fichier original et un pour obtenir une version JPEG.
Mais comme mentionné, ces fonctions renvoient les données d'image réelles sous la forme d'un tampon.
Il va donc falloir faire quelque chose avec, comme, par exemple, l'enregistrer sur
le disque ou plus précisément, enregistrer sur le bureau, une fonction qui créera dans un second
passage cette fonction le tampon d'image comme premier argument et l'extension d'image ou tapez comme deuxième PNG et JPEG.
Ensuite, nous pouvons créer cette fonction.
Considérez enregistrer sur le bureau, en prenant les données et l'extension, puis la première étape de cette fonction consiste à obtenir le
chemin absolu vers le bureau qui est affecté au chemin du bureau.
Je pourrais bien sûr coder ceci pour mon propre système de fichiers, mais pour le faire correctement, récupérons-le à partir de
l'instance de l'application.
J'utiliserai un simple gestionnaire d'époxy.
Vous auriez pu également utiliser le module distant.
Si cela est activé pour votre application, exigez que le module de rendu époxy soit affecté à cette variable de chemin de bureau.
Le retour du moteur de rendu époxy invoque le chemin d'accès au nom du canal sur lequel nous appelons cette invocation.
Ensuite, pour gérer cette tête vers main, il faut ipsi main et juste en haut, utilisez ipsi main pour gérer
un chemin.
Cette invocation que nous venons de créer est passée.
Il existe un rappel dans lequel nous pouvons simplement renvoyer la valeur de up get path pour le bureau.
Cela devrait être très familier des leçons précédentes, mais sinon, reportez-vous à la leçon de l'application et
aux principaux modules de processus et invoquez et gérez sous la messagerie IPSI.
Ensuite, pour redresser les données d'image sur le bureau, nous pouvons utiliser des notes intégrées au module FS ou au
système de fichiers appelant fs dot right file nécessitent ce module.
Les const aifs equals nécessitent fhs pass, right, classent le fichier, le nom et le chemin pour écrire
ces données d'image en commençant par l'extension de point d'éclaboussure de bureau paf slash.
Cette extension que nous transmettons à partir de l'un ou l'autre des appels de fonction, puis des données d'image et enfin, de la
fonction de rappel requise, ce rappel ne fournissant qu'un objet d'erreur.
Donc, je vais simplement avoir le dialogue de la console comme rappel, sans oublier que cette fonction d'invocation renvoie
une promesse.
Donc, pour attendre la valeur de cette promesse de retour lorsqu'elle se résout, nous devons également rendre
la fonction d'enregistrement sur le bureau asynchrone à nouveau.
Si vous n'êtes pas familiarisé avec la gestion des promesses, l'utilisation de l'async et de l'attente, j'ai lié à certains didacticiels de
la leçon.
Les ressources économisent à la fois maned et indexées sur HTML, provoquant cette fois un rechargement.
Et maintenant, notez que mon bureau est en arrière-plan ici où les nouveaux fichiers image
seront écrits pour cliquer sur PMG.
Et là, nous obtenons une image PNG de Slashdot en cours d'écriture sur le bureau, identique à l'image originale essayée
JPEG.
Et la même chose, sauf que cette fois l'original a été converti au format JPEG.
Les deux autres options pour exporter les données d'image sont en bitmap, pas un format d'exportation commun et
neutre pour les données, un format très utile pour une utilisation sur le Web.
Je vais ajouter un autre bouton pour démontrer que cet appel à la balise est une étiquette de balise HTML, ce bouton affiche une pause dans une
nouvelle ligne et pour afficher ces données, vous êtes tous dans une balise HTML et une balise d'image.
Laissez l'attribut source vide pour le moment, en donnant à la balise un I. RÉ. avec lequel le sélectionner.
Aperçu.
Nous avons toujours besoin d'un gestionnaire de clics pour le bouton Afficher.
Dupliquez à nouveau l'un d'entre eux.
Pour marquer, nous n'écrivons pas sur le bureau cette fois, pour supprimer cette fonction appelant le point de démarrage aux
données, vous pouvez obtenir une donnée.
Vous êtes tous de l'image de démarrage originale attribuant le vous êtes en mesure de vous éclabousser R-AL puis d'afficher cette image dans cette
nouvelle balise d'image sélectionnée par l'élément DOGIT de document d'identité par I. RÉ. Prévisualisez la définition de sa propriété source, cet
attribut source dans la balise, sur les données que vous utilisez l'URL.
Vous êtes tous sauvés de cela.
Recharger.
Cliquez sur Afficher, et nous l'avons, la source des balises d'image se voit attribuer l'URL des données de l'image
d'origine et s'affiche comme toute autre URL pointant vers une image.
L'image native nous permet également de manipuler des images au-delà des simples formats d'exportation.
Par exemple, cette image est trop grande pour la fenêtre.
Nous pouvons le redimensionner pour dire un quart de sa taille d'origine.
Toujours dans cette fonction, commencez par faire éclabousser les images d'origine, obtenez la taille, puis avant de créer
l'URL de données, appelez redimensionner, redimensionner renvoie une instance d'image native de l'image redimensionnée afin que nous puissions
la chaîner aux données.
Vous êtes sur ceci comme alors passez ceci.
Les nouvelles dimensions comme dans un objet de taille électronique, un objet de taille étant simplement un objet avec un
paramètre de largeur et de hauteur définissant la largeur sur la taille, la largeur du point.
Ainsi, la largeur de l'image d'origine divise par quatre, ce qui en fait un quart de la taille d'origine et la même chose pour
la hauteur, la taille, la hauteur du point divisée par quatre.
Enfin, vous devrez vous assurer que ces nouvelles valeurs de largeur et de hauteur sont toujours des entiers et non des virgules flottantes
ou des décimales, ce qui est très probable en raison de cette division.
Nous pouvons les arrondir au pixel le plus proche qui vaut le point mathématique, enregistrer à nouveau ce clic de rechargement et nous
obtenons la version redimensionnée de l'image sous forme de données.
Vous avez tous exactement un quart de la taille originale.